今天的任務就是要將使用者在 index.html 提供的資料,經過 Gemini 分析後,顯示在 result.html
AI_Nutri_Project/
├── app.py # Flask 應用程式主程式
├── credentials.json # Google OAuth 憑證
└── templates/
├── index.html # 輸入/首頁 UI
└── results.html # 分析結果 UI
由於 app.py 目前已經有個 Google Fit 了,如果 Gemini 再搬進去的話,有點兒擠...
再增加一個 services 資料夾(服務層),與 Google Fit 相關的寫在 google_fit_service.py;與 Google Gemini 相關的寫在 gemini_service.py
AI_Nutri_Project/
├── app.py # Flask 應用程式主程式
├── credentials.json # Google OAuth 憑證
├── services/ # 服務層
│ ├── gemini_service.py # 處理 Gemini API 呼叫、JSON 處理
│ └── google_fit_service.py # 處理 Google Fit OAuth & 數據獲取
│
└── templates/ # UI
再增加一個 config 資料夾(配置相關檔案),可以用來放 Gemini 的 Api Key,以及 Google Fit 的憑證 credentials.json
AI_Nutri_Project/
├── app.py # Flask 應用程式主程式
├── config/ # 配置相關檔案
│ ├── .env # (包含 GEMINI_API_KEY)
│ ├── aiconfig.json # 設定檔
│ └── credentials.json # Google Fit 憑證
│
├── services/ # 服務層
└── templates/ # UI
請確認目前的 Python 環境中安裝了所有必要的函式庫:
pip install google-genai pillow python-dotenv
# .env
GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
import os
from dotenv import load_dotenv
from flask import Flask
load_dotenv() # 載入 .env 檔案
def create_app():
app = Flask(__name__)
# 將 API Key 載入到 app.config 中
app.config['GEMINI_API_KEY'] = os.environ.get("GEMINI_API_KEY")
# ...
return app
#先欠著~(陷入 Json 地獄中...)
python app.py
(還在努力調整資料格式中...)